# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：HelloWorld
#   文件名：7.02 异常对象.py
# 开发时间：2021/3/28 18:59

print('7.02 异常对象')
print('-' * 20, '异常出现前', '-' * 20)

try:
    # print(c)
    print(10 / 0)
except NameError:
    # 如果except后跟着一个异常的类型，那么此时它只会捕获该类型的异常(如NameError)
    print('出现了NameError!')
except ZeroDivisionError:
    print('出现了ZeroDivisionError！')
except Exception as e:
    # 如果except后不跟任何内容，则此时它会捕获所有异常（这样无法分清是何种异常）
    # Exception是所有类的父类，所以不跟任何内容其实是隐藏了Exception，也会捕获所有异常
    print('未知异常！全部捕获', e, type(e))
    # 可以在异常类加上一个as xx ， 此时xx就是异常对象
finally:
    print('最终语句！无论有异常与否都执行！')
print('-' * 20, '异常出现后', '-' * 20)
